home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / windows / iomeg_nt.zip / OEMSETUP.INF < prev    next >
INI File  |  1996-04-02  |  15KB  |  474 lines

  1. [Identification]
  2.     OptionType = SCSI
  3.  
  4. [LanguagesSupported]
  5.     ENG
  6.  
  7. [Options]
  8.     "PPA3NT"    = ppa3nt
  9.  
  10. [OptionsTextENG]
  11.     "PPA3NT"    = "Iomega ZIP Parallel / PPA3"
  12.  
  13. [MiniportDrivers]
  14.     ppa3nt  = !SERVICE_KERNEL_DRIVER, "SCSI Miniport", !SERVICE_ERROR_NORMAL,  , %SystemRoot%\System32\IoLogMsg.dll , 7
  15.  
  16. [Identify]
  17.     read-syms Identification
  18.     set Status     = STATUS_SUCCESSFUL
  19.     set Identifier = $(OptionType)
  20.     set Media      = #("Source Media Descriptions", 1, 1)
  21.     Return $(Status) $(Identifier) $(Media)
  22.  
  23. [ReturnOptions]
  24.     set Status        = STATUS_FAILED
  25.     set OptionList     = {}
  26.     set OptionTextList = {}
  27.     set LanguageList = ^(LanguagesSupported, 1)
  28.     Ifcontains(i) $($0) in $(LanguageList)
  29.         goto returnoptions
  30.     else
  31.         set Status = STATUS_NOLANGUAGE
  32.         goto finish_ReturnOptions
  33.     endif
  34.  
  35. returnoptions = +
  36.     set OptionList     = ^(Options, 0)
  37.     set OptionTextList = ^(OptionsText$($0), 1)
  38.     set Status         = STATUS_SUCCESSFUL
  39.  
  40. finish_ReturnOptions = +
  41.     Return $(Status) $(OptionList) $(OptionTextList)
  42.  
  43.  
  44. ;
  45. ; 3. InstallOption:
  46. ;
  47. ; FUNCTION:  To copy files representing Options
  48. ;            To configure the installed option
  49. ;            To update the registry for the installed option
  50. ;
  51. ; INPUT:     $($0):  Language to use
  52. ;            $($1):  OptionID to install
  53. ;            $($2):  SourceDirectory
  54. ;            $($3):  AddCopy  (YES | NO)
  55. ;            $($4):  DoCopy   (YES | NO)
  56. ;            $($5):  DoConfig (YES | NO)
  57. ;
  58. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  59. ;                            STATUS_NOLANGUAGE |
  60. ;                            STATUS_USERCANCEL |
  61. ;                            STATUS_FAILED
  62. ;
  63.  
  64. [InstallOption]
  65.  
  66.     ;
  67.     ; Set default values for
  68.     ;
  69.     set Status = STATUS_FAILED
  70.     set DrivesToFree = {}
  71.  
  72.     ;
  73.     ; extract parameters
  74.     ;
  75.     set Option   = $($1)
  76.     set SrcDir   = $($2)
  77.     set AddCopy  = $($3)
  78.     set DoCopy   = $($4)
  79.     set DoConfig = $($5)
  80.  
  81.     ;
  82.     ; Check if the language requested is supported
  83.     ;
  84.     set LanguageList = ^(LanguagesSupported, 1)
  85.     Ifcontains(i) $($0) in $(LanguageList)
  86.     else
  87.         set Status = STATUS_NOLANGUAGE
  88.         goto finish_InstallOption
  89.     endif
  90.     read-syms Strings$($0)
  91.  
  92.     ;
  93.     ; check to see if Option is supported.
  94.     ;
  95.  
  96.     set OptionList = ^(Options, 0)
  97.     ifcontains $(Option) in $(OptionList)
  98.     else
  99.         Debug-Output "ppa3nt.INF: SCSI option is not supported."
  100.         goto finish_InstallOption
  101.     endif
  102.     set OptionList = ""
  103.  
  104.     ;
  105.     ; Option has been defined already
  106.     ;
  107.  
  108.     set MiniportDriver   =   #(Options,         $(Option),         1)
  109.     set Type             = $(#(MiniportDrivers, $(MiniportDriver), 1))
  110.     set Group            =   #(MiniportDrivers, $(MiniportDriver), 2)
  111.     set ErrorControl     = $(#(MiniportDrivers, $(MiniportDriver), 3))
  112.     set Tag              =   #(MiniportDrivers, $(MiniportDriver), 4)
  113.     set EventMessageFile =   #(MiniportDrivers, $(MiniportDriver), 5)
  114.     set TypesSupported   =   #(MiniportDrivers, $(MiniportDriver), 6)
  115.  
  116.     set Start            =   $(!SERVICE_BOOT_START)
  117.  
  118. installtheoption = +
  119.  
  120.     ;
  121.     ; Code to add files to copy list
  122.     ;
  123.  
  124.     ifstr(i) $(AddCopy) == "YES"
  125.         set DoActualCopy = NO
  126.         set FileToCheck = #(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  127.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  128.         ifstr(i) $(STATUS) == NO
  129.             set DoActualCopy = YES
  130.         endif
  131.  
  132.         ifstr(i) $(DoActualCopy) == NO
  133.             shell "subroutn.inf" DriversExist $($0) $(String1)
  134.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  135.                 Debug-Output "ppa3nt.INF: shelling DriversExist failed"
  136.                 goto finish_InstallOption
  137.             endif
  138.  
  139.             ifstr(i) $($R0) == STATUS_CURRENT
  140.             else-ifstr(i) $($R0) == STATUS_NEW
  141.                 set DoActualCopy = YES
  142.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  143.                 Debug-Output "ppa3nt.INF: User cancelled SCSI installation"
  144.                 goto finish_InstallOption
  145.             else
  146.                 Debug-Output "ppa3nt.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  147.                 goto finish_InstallOption
  148.             endif
  149.         endif
  150.  
  151.         ifstr(i) $(DoActualCopy) == YES
  152.  
  153.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  154.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  155.                 Debug-Output "ppa3nt.INF: shelling DoAskSourceEx failed"
  156.                 goto finish_InstallOption
  157.             endif
  158.  
  159.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  160.                 set SrcDir = $($R1)
  161.                 ifstr(i) $($R2) != ""
  162.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  163.                 endif
  164.             else
  165.                 Debug-Output "ppa3nt.INF: User cancelled asking source."
  166.                 goto finish_InstallOption
  167.             endif
  168.  
  169.             install Install-AddCopyOption
  170.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  171.                 Debug-Output "Adding SCSI files to copy list failed"
  172.                 goto finish_InstallOption
  173.             endif
  174.         else
  175.             set DoCopy = NO
  176.         endif
  177.  
  178.     endif
  179.  
  180.     ifstr(i) $(DoCopy) == "YES"
  181.         read-syms ProgressCopy$($0)
  182.         install Install-DoCopyOption
  183.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  184.             Debug-Output "Copying files failed"
  185.             goto finish_InstallOption
  186.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  187.             set Status = STATUS_USERCANCEL
  188.             goto finish_InstallOption
  189.         endif
  190.     endif
  191.  
  192.     ifstr(i) $(DoConfig) == "YES"
  193.         ;
  194.         ; first run a privilege check on modifying the setup node
  195.         ;
  196.  
  197.         shell "registry.inf" CheckSetupModify
  198.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  199.             goto finish_InstallOption
  200.         endif
  201.  
  202.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  203.             goto finish_InstallOption
  204.         endif
  205.  
  206.         ;
  207.         ; then make a new SCSI entry, the entry is created automatically
  208.         ; enabled
  209.         ;
  210.  
  211.         set ServiceNode   = $(MiniportDriver)
  212.         set ServiceBinary = System32\drivers\#(Files-ScsiMiniportDrivers, $(MiniportDriver), 2)
  213.  
  214.         set ServicesValues   = { +
  215.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  216.                 {Start,          0, $(!REG_VT_DWORD),     $(Start)                 }, +
  217.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  218.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  219.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  220.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  221.                 }
  222.         set ParametersValues = ""
  223.         set DeviceValues     = {}
  224.         set EventLogValues   = { +
  225.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  226.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  227.                 }
  228.  
  229.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  230.                                                 $(ServicesValues)   +
  231.                                                 $(ParametersValues) +
  232.                                                 $(DeviceValues)     +
  233.                                                 $(EventLogValues)   +
  234.                                                 Parameters
  235.  
  236.  
  237.  
  238.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  239.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  240.             goto finish_InstallOption
  241.         endif
  242.  
  243.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  244.             Debug-Output "MakeServicesEntry failed for SCSI"
  245.             goto finish_InstallOption
  246.         endif
  247.  
  248.     endif
  249.  
  250.